﻿using System;

namespace Simp.Model.Parsing
{
	/// <summary>Represents a parser, able to parse <c>Simp</c> programs.</summary>
	public interface IParser
	{
		/// <summary>
		/// Parses content and returns a list of parsed <see cref="CustomExpression"/> and, optionally, a
		/// return value expression.
		/// </summary>
		/// <param name="content"/>
		/// <param name="expressionDefinitionList"/>
		/// <param name="returnExpression"/>
		void Parse(string content, out IExpression[] expressionDefinitionList, out IExpression returnExpression);
	}
}